package leetcode.code090;

import java.util.List;

import leetcode.IDebug;
import leetcode.helper.HelpDebug;

public abstract class Solution090 implements IDebug {

	public abstract List<List<Integer>> subsetsWithDup(int[] nums);

	private void debug(String string, String string1) {
		int[] nums = HelpDebug.str2array3(string);
		List<List<Integer>> result = this.subsetsWithDup(nums);
//		List<List<Integer>> expect = HelpDebug.str2intlist(string1);
//		HelpDebug.compare(string1, result);
		HelpDebug.printObject(result);
	}

	@Override
	public void debug1() {
		String string = "[1,2,3]";
		String string1 = "[[],[1],[1,2],[1,2,2],[2],[2,2]]";
		this.debug(string, string1);
	}

	@Override
	public void debug2() {
		String string = "[0]";
		String string1 = "[[],[0]]";
		this.debug(string, string1);
	}

	@Override
	public void debug3() {
		String string = "[1,1,2,2]";
		String string1 = "[[],[1],[1,1],[1,1,2],[1,1,2,2],[1,2],[1,2,2],[2],[2,2]]";
		this.debug(string, string1);
	}

	@Override
	public void debug4() {
		String string = "[5,5,5,5,5]";
		String string1 = "";
		this.debug(string, string1);
	}

}
